************************************ 输出文件格式说明 ************************************ DS-PAW 2023A版本默认生成的输出文件 **JSON** 文件可直接通过 Device Studio 进行分析处理,另输出文件新增了 **hdf5** 格式, 可下载 `vitables`_ (python环境下执行pip install vitables)或 `HDFView`_ 查看 **hdf5** 格式文件,使用 :doc:`/tools` 提供的 **python** 脚本进行结果分析。 除电荷密度文件 :guilabel:`rho.h5` 、溶剂束缚电荷密度输出文件 :guilabel:`rhoBound.h5` 、 其余输出文件的文件名取决于 **task** 类型,现DS-PAW 支持 task 类型有14种,对应的h5文件名分别为: :guilabel:`relax.h5` 、 :guilabel:`scf.h5` 、 :guilabel:`band.h5` 、 :guilabel:`dos.h5` 、 :guilabel:`potential.h5` 、 :guilabel:`elf.h5` 、:guilabel:`pcharge.h5`、 :guilabel:`frequency.h5` 、 :guilabel:`elastic.h5` 、 :guilabel:`neb.h5` 、 :guilabel:`phonon.h5` 、 :guilabel:`aimd.h5` 、 :guilabel:`epsilon.h5` 、 :guilabel:`wannier.h5` 。 DS-PAW 2023A暂可支持 **.json** 格式的输出文件,但不建议用户继续使用该格式分析结果,DS-PAW会在迭代版本过程中完全摒弃json格式的输出,停止对该种格式的维护与升级。用户可通过 ``io.outJsonFile`` 参数控制 json 文件是否输出。 .. _vitables: https://vitables.org/Download/ .. _HDFView: https://portal.hdfgroup.org/display/support/Download+HDFView ============================================================================== relax.h5 ============================================================================== *relax.h5 为 task = relax 时的输出文件,当 task类型为其他时,该文件不输出。* :guilabel:`relax.h5` 至少包含9个基本结构体: .. figure:: ../imgs/phase4/relax0.png (1) :guilabel:`AtomInfo` 中保存体系的基本结构信息,如晶胞大小,原子位置等; .. figure:: ../imgs/phase4/relax1.png (2) :guilabel:`Eigenvalue` 中保存能带计算数量、自旋信息、k点数量及坐标、各能带在各k点下对应的轨道占据数及能量本征值; .. figure:: ../imgs/phase4/relax2.png (3) :guilabel:`Electron` 中保存体系总的价电子数; (4) :guilabel:`Energy` 中保存总能及费米能; .. figure:: ../imgs/phase4/relax3.png (5) :guilabel:`Force` 中保存弛豫过程每个原子的受力; .. figure:: ../imgs/phase4/relax4.png (6) :guilabel:`MagInfo` 中保存原子总的磁矩信息,若打开了投影则保存投影磁矩信息; .. figure:: ../imgs/phase4/relax5.png (7) :guilabel:`RelaxInfo` 中保存体系在结构弛豫过程中每步的应力及压力数据; .. figure:: ../imgs/phase4/relax8.png (8) :guilabel:`Stress` 中保存晶胞各方向的应力大小,体系压力大小; .. figure:: ../imgs/phase4/relax6.png (9) :guilabel:`Structures` 中保存弛豫过程中结构和磁矩数据; .. figure:: ../imgs/phase4/relax7.png ============================================================================== scf.h5 ============================================================================== *scf.h5 为 task = scf 时的输出文件,当 task类型为其他时,该文件不输出。* :guilabel:`scf.h5` 至少包含8个基本结构体,其基本信息与 :guilabel:`relax.h5` 一致: .. figure:: ../imgs/phase4/scf0.png *task = scf* 下可通过 ``sys`` 和 ``io`` 等参数控制完成多种功能的计算,不同功能下生成的 :guilabel:`scf.h5` 文件会写入对应功能的数据,具体可分为以下情况: (1) 通过设置 ``io.optical = true`` 在自洽计算的基础上计算线性光学性质: .. figure:: ../imgs/phase4/iooptical0.png .. figure:: ../imgs/phase4/iooptical1.png .. figure:: ../imgs/phase4/optical4.png (2) 通过设置 ``io.bader = true`` 在自洽计算的基础上计算bader电荷: .. figure:: ../imgs/phase4/iobader0.png .. figure:: ../imgs/phase4/iobader1.png (3) 通过设置 ``io.polarization = true`` 在自洽计算的基础上进行铁电计算: .. figure:: ../imgs/phase4/iopolarization0.png .. figure:: ../imgs/phase4/iopolarization1.png (4) 通过设置 ``sys.fixedP = true`` 在自洽计算中进行固定电势计算: .. figure:: ../imgs/phase4/fixP0.png 其中 :guilabel:`ChemicalPotential_e` 为体系电子化学势值; :guilabel:`EBulk` 取值为“隐式溶剂模型下费米能级shift值*-1”; :guilabel:`ElectrodePotential` 给出不同标定标准下的电势值; :guilabel:`GrandTotalEnergy0` 给出电子巨正则系综下的体系总能。 .. figure:: ../imgs/phase4/fixP1.png :guilabel:`fixedPPotential` 标签下展开为电子迭代过程中各重要参数的信息汇总。 (5) 通过设置 ``io.band = true`` 、 ``io.dos = true`` 、 ``io.potential = true`` 、 ``io.elf = true`` , 在自洽计算的基础上进行能带计算、态密度计算、势函数计算、电子局域密度计算: .. figure:: ../imgs/phase4/ioband.png .. figure:: ../imgs/phase4/iodos.png .. figure:: ../imgs/phase4/iopotential.png .. figure:: ../imgs/phase4/ioelf.png ============================================================================== rho.h5 ============================================================================== *rho.h5 为各task下的电荷密度输出文件。* :guilabel:`rho.h5` 包含2个结构体: .. figure:: ../imgs/phase4/rho0.png 其中 :guilabel:`AtomInfo` 与 :guilabel:`relax.h5` 文件的 :guilabel:`AtomInfo` 结构一致,:guilabel:`Rho` 中保存电荷密度数据: .. figure:: ../imgs/phase4/rho1.png ============================================================================== rhoBound.h5 ============================================================================== *rhoBound.h5 为溶剂化模型下的溶剂束缚电荷密度输出文件。* :guilabel:`rhoBound.h5` 包含2个结构体: .. figure:: ../imgs/phase4/rhoBound.png 其中 :guilabel:`AtomInfo` 与 :guilabel:`relax.h5` 文件的 :guilabel:`AtomInfo` 结构基本一致,:guilabel:`Rho` 中保存溶剂束缚电荷密度数据: ============================================================================== band.h5 ============================================================================== *band.h5 为各task = band下的输出文件,当 task类型为其他时,该文件不输出。* :guilabel:`band.h5` 至少包含3个结构体: .. figure:: ../imgs/phase4/band.png 其中 :guilabel:`AtomInfo` 、 :guilabel:`Structures` 与 :guilabel:`relax.h5` 文件相对应的结构体结构一致, :guilabel:`BandInfo` 中保存能带数据: .. figure:: ../imgs/phase4/band1.png | 能带去折叠计算对应的 :guilabel:`band.h5` 至少包含4个结构体: .. figure:: ../imgs/phase4/band2.png 其中 :guilabel:`AtomInfo` 、 :guilabel:`Structures` 与 :guilabel:`relax.h5` 文件相对应的结构体结构一致, :guilabel:`BandInfo` 中保存能带数据, :guilabel:`UnfoldingBandInfo` 中保存能带反折叠数据: .. figure:: ../imgs/phase4/band3.png ============================================================================== dos.h5 ============================================================================== *dos.h5 为 task = dos 下的输出文件,当 task类型为其他时,该文件不输出。* :guilabel:`dos.h5` 至少包含3个结构体: .. figure:: ../imgs/phase4/dos0.png 其中 :guilabel:`AtomInfo` 、 :guilabel:`Structures` 与 :guilabel:`relax.h5` 文件相对应的结构体结构一致, :guilabel:`DosInfo` 中保存态密度数据: .. figure:: ../imgs/phase4/dos1.png ============================================================================== potential.h5 ============================================================================== *potential.h5 为 task = potential 下的输出文件,当 task类型为其他时,该文件不输出。* :guilabel:`potential.h5` 至少包含3个结构体: .. figure:: ../imgs/phase4/potential0.png 其中 :guilabel:`Potential` 中保存势函数数据: .. figure:: ../imgs/phase4/potential1.png ============================================================================== elf.h5 ============================================================================== *elf.h5 为 task = elf 下的输出文件,当 task类型为其他时,该文件不输出。* :guilabel:`elf.h5` 至少包含3个结构体: .. figure:: ../imgs/phase4/elf0.png 其中 :guilabel:`elf` 中保存局域密度数据: .. figure:: ../imgs/phase4/elf1.png ============================================================================== pcharge.h5 ============================================================================== *pcharge.h5 为 task = pcharge 下的输出文件,当 task类型为其他时,该文件不输出。* :guilabel:`pcharge.h5` 包含2个结构体: .. figure:: ../imgs/phase4/pcharge0.png 其中 :guilabel:`Pcharge` 中保存部分电荷密度数据: .. figure:: ../imgs/phase4/pcharge1.png ============================================================================== optical.h5 ============================================================================== *optical.h5 为 task = optical下的输出文件,当 task类型为其他时,该文件不输出。* :guilabel:`optical.h5` 包含4个结构体: .. figure:: ../imgs/phase4/optical0.png (1)其中 :guilabel:`AtomInfo` 中保存体系的基本结构信息,如晶胞大小,原子位置等: .. figure:: ../imgs/phase4/optical1.png (2) :guilabel:`opticalInfo` 中保存光学计算各种性质的数据信息: .. figure:: ../imgs/phase4/optical2.png (3) :guilabel:`Structures` 中保存光学计算的结构信息: .. figure:: ../imgs/phase4/optical3.png (4) :guilabel:`WaveDerivate` 中保存波函数对k点的导数数组,大小为:(实部,虚部)*NumberOfBand*优选后band数目*NumberOfKPoints*NumberOfSpin*(x,y,z); :guilabel:`DerivativeIndex` 给出导数数组的维度; :guilabel:`DerivativeValue` 给出导数数组的值。 .. figure:: ../imgs/phase4/optical4.png ============================================================================== frequency.h5 ============================================================================== *frequency.h5 为 task = frequency下的输出文件,当 task类型为其他时,该文件不输出。* 在考虑自旋的情况下 :guilabel:`frequency.h5` 包含4个结构体: .. figure:: ../imgs/phase4/frequency0.png 其中 :guilabel:`FrequencyInfo` 中保存频率数据: .. figure:: ../imgs/phase4/frequency1.png ============================================================================== elastic.h5 ============================================================================== *elastic.h5 为 task = elastic 下的输出文件,当 task类型为其他时,该文件不输出。* 在考虑自旋的情况下 :guilabel:`elastic.h5` 包含4个结构体: .. figure:: ../imgs/phase4/elastic0.png 其中 :guilabel:`ElasticInfo` 中保存弹性数据: .. figure:: ../imgs/phase4/elastic1.png ============================================================================== neb.h5 ============================================================================== *neb.h5 为 task = neb 时,外层目录的输出文件。* :guilabel:`neb.h5` 包含5个结构体: .. figure:: ../imgs/phase4/neb0.png 其中 :guilabel:`BarrierInfo` 中保存最大受力、反应坐标(各image和初态 00 结构间的反应距离)、最大剪切力、总能数据: .. figure:: ../imgs/phase4/neb01.png 其中 :guilabel:`IniFin` 中保存计算初末态的开关: .. figure:: ../imgs/phase4/neb02.png 其中 :guilabel:`LoopInfo` 中保存neb优化过程中每个image的能量与受力变化情况: .. figure:: ../imgs/phase4/neb03.png 其中 :guilabel:`RelaxedStructure` 中保存各image优化结束的结构数据: .. figure:: ../imgs/phase4/neb04.png 其中 :guilabel:`UnrelaxStructure` 中保存各image优化之前的结构数据: .. figure:: ../imgs/phase4/neb05.png ============================================================================== neb01.h5 ============================================================================== *neb01.h5 为 task = neb 时,01子文件夹下的输出文件,同理02文件夹下会生成 neb02.h5 文件。* 在不考虑自旋的情况下 :guilabel:`neb01.h5` 包含12个结构体: .. figure:: ../imgs/phase4/neb00.png 其中 :guilabel:`AtomInfo` 、 :guilabel:`Eigenvalue` 、 :guilabel:`Electron` 、 :guilabel:`Energy`、 :guilabel:`Force`、 :guilabel:`Stress` 、 :guilabel:`Structures` 与 :guilabel:`relax.h5` 文件相对应的结构体结构一致; 其中 :guilabel:`Distance` 中保存 image 1 在优化过程中反应原子距离前后 image 的距离变化数据; .. figure:: ../imgs/phase4/neb001.png 其中 :guilabel:`MaxForce` 中保存 image 1 在优化过程中最大受力数据; 其中 :guilabel:`NebSize` 中保存过渡态计算最大步数; 其中 :guilabel:`Tangent` 中保存 image 1 在优化过程中剪切力变化数据; 其中 :guilabel:`TotalEnergy` 中保存 image 1 在优化过程中总能变化数据; ============================================================================== phonon.h5 ============================================================================== *phonon.h5 为 task = phonon 下的输出文件,当 task类型为其他时,该文件不输出。* (1) 当 ``phonon.method = dfpt`` 时,phonon.f5文件如下所示: dfpt方法计算声子能带和态密度,打开介电常数、声子热力学计算的开关, :guilabel:`phonon.h5` 包含9个结构体: .. figure:: ../imgs/phase4/phonon-dfpt0.png 其中 :guilabel:`BandInfo` 、 :guilabel:`DosInfo` 分别保存能态和态密度数据,其结构分别与 :guilabel:`band.h5` 、 :guilabel:`dos.h5` 文件相对应的结构体结构一致; 其中 :guilabel:`EpsilonInfo` 中保存介电常数数据: .. figure:: ../imgs/phase4/epsilon1.png 其中 :guilabel:`ForceConstant` 中保存力学常数数据: .. figure:: ../imgs/phase4/phonon-dfpt2.png 其中 :guilabel:`PrimitiveAtomInfo` 、 :guilabel:`SupercellAtomInfo` 、 :guilabel:`unitAtomInfo` 分别保存原胞、超胞、单胞的结构信息,以单胞为例结构如下: .. figure:: ../imgs/phase4/phonon-dfpt3.png 其中 :guilabel:`ThermalInfo` 中保存声子热力学数据: .. figure:: ../imgs/phase4/phonon-dfpt4.png 其中 :guilabel:`Phonon` 中保存声子计算输入参数数据: .. figure:: ../imgs/phase4/phonon-dfpt5.png (2) 当 ``phonon.method = fd`` 时,phonon.f5文件如下所示: 有限位移法计算声子能带和态密度, :guilabel:`phonon.h5` 包含9个结构体: .. figure:: ../imgs/phase4/phonon-fd0.png 其中 :guilabel:`BandInfo` 、 :guilabel:`DosInfo` 分别保存能态和态密度数据,其结构分别与 :guilabel:`band.h5` 、 :guilabel:`dos.h5` 文件相对应的结构体结构一致; 其中 :guilabel:`ForceConstant` 中保存力学常数数据, :guilabel:`PrimitiveAtomInfo` 、 :guilabel:`SupercellAtomInfo` 、 :guilabel:`unitAtomInfo` 分别 保存原胞、超胞、单胞的结构信息,其结构与 ``phonon.method = dfpt`` 时生成的phonon.f5文件相对应的结构体结构一致; 其中 :guilabel:`ForceSet` 保存各结构计算所得的力学矩阵数据: .. figure:: ../imgs/phase4/phonon-fd1.png 其中 :guilabel:`Phonon` 中保存声子计算输入参数数据: .. figure:: ../imgs/phase4/phonon-fd2.png ============================================================================== phonon001.h5 ============================================================================== *task = phonon,phonon.method = fd 时, 001子文件下会输出文件 phonon.h5,可将此类 h5文件重命名为 phonon001.h5, 同理002文件夹下也会生成 phonon.h5 文件。* 在考虑自旋的情况下 :guilabel:`phonon001.h5` 包含7个结构体,结构如下: .. figure:: ../imgs/phase4/phonon001.png ============================================================================== aimd.h5 ============================================================================== *aimd.h5 为 task = aimd 下的输出文件,当 task类型为其他时,该文件不输出。* 在考虑自旋的情况下 :guilabel:`aimd.h5` 包含9个结构体: .. figure:: ../imgs/phase4/aimd0.png 其中基本结构体信息与 :guilabel:`relax.h5` 一致; 其中新结构体 :guilabel:`AimdInfo` 包含n个结构体,每个结构体保存某个离子步下体系的状态信息,如温度、压力、能量、动能等: .. figure:: ../imgs/phase4/aimd1.png ============================================================================== epsilon.h5 ============================================================================== *epsilon.h5 为 task = epsilon 下的输出文件,当 task类型为其他时,该文件不输出。* 在考虑自旋的情况下 :guilabel:`epsilon.h5` 包含4个结构体: .. figure:: ../imgs/phase4/epsilon0.png 其中 :guilabel:`EpsilonInfo` 中保存介电常数数据: .. figure:: ../imgs/phase4/epsilon1.png ============================================================================== wannier.h5 ============================================================================== *wannier.h5 为 task = wannier 下的输出文件,当 task类型为其他时,该文件不输出。* 在不考虑自旋的情况下,计算插值能带所得的 :guilabel:`wannier.h5` 包含9个结构体: .. figure:: ../imgs/phase4/wannier0.png 其中 :guilabel:`WannBandInfo` 中保存插值能带数据,可用于绘制能带图: .. figure:: ../imgs/phase4/wannier1.png 其中 :guilabel:`WannInfo` 中保存wannier函数拟合数据,包括k网格点和初始投影信息等: .. figure:: ../imgs/phase4/wannier2.png 其中 :guilabel:`WannInfo` 的 :guilabel:`spin1` 下保存wannier函数拟合数据,包括计算所得的哈密顿量等数据: .. figure:: ../imgs/phase4/wannier3.png